However, the trailing semicolon IS required in the struct declaration since its syntax requires an additional statement following the compound statement. In this case this statement is simply the "null" statement: a lone semicolon following the closing brace.
Also note that some programmers prefer an alternate bracket format which is treated identically by the compiler (since line feeds are ignored "white space"):